The present invention relates to network management and control in general and in particular to the management of networks utilizing aggregator ports to allow multiple links between two nodes in the network.
Currently, the Institute of Electrical and Electronic Engineers (IEEE) 802.3ad Task Force is developing a definition for a link aggregation standard. Link aggregation treats multiple physical links as a single network media access control (MAC) interface visible to higher layers. This single logical MAC interface is provided by an aggregator. Each aggregator is associated with from 1 to N physical links. The rules that determine the assignment of a group of physical links to an aggregator are called selection rules.
When a physical link aggregates with one or more other physical links the links in this aggregation group are assigned to an aggregator or a logical aggregator port that is visible to the higher protocol layers in place of the physical links in the aggregation group. In order to determine which physical links are capable of aggregation, each physical port to which a physical link is connected and each aggregator port is assigned a key value. The key value may be an arbitrary value assigned to the physical port or the aggregator port. However, physical ports with the same key value may be aggregated. Thus, if each aggregator port is assigned a unique key value then all physical ports that have the same key value as an aggregator port are assigned to that aggregator port as an aggregation group. To configure a link as outside an aggregation group, the link is assigned a key value which does not match the key value of an aggregator port.
In order for devices within a network to be self configuring and to allow for the detection of errors, each device in the network is typically assigned a unique system identification (System ID) within the network. Each physical port of a network device is also typically assigned a key value. To aggregate physical links between two network devices, each device will transmit to the other device its System ID and the key value of the physical port connecting the two devices. After receiving the information from the other device, each device will attempt to aggregate physical ports which have compatible link parameters (e.g. link speed), have identical local key values and both the remote System ID and key values are identical.
To maximize the number of aggregation groups and to support xe2x80x9cplug and playxe2x80x9d configuration, it may be useful to configure all aggregator ports and all physical ports with the same initial key values. This will cause the network devices to form as many aggregation groups as possible. Such an assignment of key values may work if there are at least as many aggregator ports as physical ports. However, problems in system predictability may occur in a system where there are more groups of links capable of aggregation than there are aggregator ports in a device. In such a case, which physical ports are assigned to an aggregator port may depend on the timing of the determination or other variables which could result in unpredictable results. Unpredictable results are undesirable because it may preclude automated processes, such as error recovery, power outage recovery or other such events which may cause a network to be reconfigured. Therefore, without predictable results, the aftermath of many of these events may require manual configuration of the network or other operator intervention to return the network to the preevent configuration.
Accordingly, it is an object of the present invention to provide methods, systems and computer program products for the management of aggregator ports in a network.
It is a further object of the present invention to provide such methods, systems and computer program products which allow for the predictable selection of the physical ports associated with an aggregator port in the instance where there are more physical ports capable of aggregation than aggregator ports.
These and other objects can be provided, according to the present invention, by methods, systems and computer program products which associate physical links of a network device with aggregator ports of the network device where there are more potential aggregation groups than aggregator ports of the network device. Physical links are associated with the aggregator ports of the network device in a predictable sequence based on a session invariant characteristic of the physical links until either all of the aggregator ports of the network device have associated groups of physical links or all of the physical links capable of aggregation have been associated with an aggregator port. The remaining physical links may then be used as single links to the network device irrespective of the physical link""s capability to aggregate.
By grouping physical links and associating the group with aggregator ports in a predictable sequence based on a session invariant characteristic of the links, a repeatable configuration may be maintained. The session invariant characteristic of the links provides the basis for establishing the same configuration from session to session. For example, after a power outage or after a system shut down, because the session invariant characteristics of the links do not change, the association of the links to aggregator ports would also not change. Thus, the difficulties associated with an unpredictable configuration of the network may be avoided. Accordingly, maintenance and other routine service may be performed without the need to manually reconfigure the system afterwards. Furthermore, recovery from power outages or other service interruption events may be automated and result in a predictable network configuration.
In a particular embodiment of the present invention, physical links are grouped and associated with aggregator ports by determining a system identification associated with a remote end of each of the physical links connected to the network device. A port key associated with the remote end of each of the physical links connected to the network device is also determined. Physical links are then grouped and associated with the aggregator ports of the network device in a predictable sequence based on both the system identification and the port key associated with the physical link. Such a grouping and association may be carried out by associating physical links with the same system identification value and port key value with the same aggregator port in a predictable order based on the system identification values of the physical links. Preferably, the predictable order is a sequential order and more preferably an ascending sequential order.
In a further embodiment of the present invention, the system identification on which the aggregator port associations are based is a globally unique system identifier of the remote system.
In yet another embodiment of the present invention, an association of physical links with an aggregator port is terminated if a request is received to aggregate physical links having a system identification within the sequence of system identifications of physical links assigned to aggregator ports. Preferably; the association of physical links with an aggregator port terminated is an association of physical links having a system identification value at the boundary of the sequence of system identification values assigned to aggregator ports.
By updating the assignment of physical links to aggregator ports if a subsequent request is received from a link with an associated system identification within the sequence of system identifications of physical links assigned to aggregator ports, the predictable sequence may be maintained. Thus, even if the network configuration has been altered since the initial assignment of aggregator ports, the present invention provides for accommodating such modifications so that the aggregator port configuration takes into account such changes. Thus, for example, when a network device is taken out of service and then returned to service, the configuration of aggregator ports returns to that which existed prior to the device being taken out of service.
In a particular embodiment of the present invention, physical ports of a network device are associated with aggregator ports of the network device by receiving a link aggregation message from one of the physical ports of the network device. The received message is parsed for a globally unique system identification and port key of a remote system associated with the physical port on which the message was received. The physical port on which the message was received is then assigned to a potential aggregation group based on the globally unique system identification and port key values of the remote system associated with the physical port. It is then determined if either a message has been received from each of the physical ports of the network device or the expiration of a hold time, has occurred. Potential aggregation groups are then associated with the aggregator ports of the network device in a predictable sequence based on the system identification values associated with the potential aggregation group until all aggregator ports have been associated with a potential aggregation group or all potential aggregation groups have been associated with an aggregator port. If all of the aggregator ports have been associated with an aggregation group and more potential aggregation groups exist, then the physical ports of potential aggregation groups which have not been associated with an aggregator port may be used as single port links.
In a particular embodiment of the present invention, the link aggregation message is a link aggregation control protocol message. Furthermore, the predictable sequence may be an ascending sequence based on system identification value.
In a still further embodiment of the present invention, a subsequent link aggregation message is received from one of the physical ports of the network device not associated with an aggregator port. The link aggregation message is received after either the expiration of the hold time or the receipt of a message from each of the physical ports of the network device. The received subsequent message is parsed for a system identification and port key of a remote system associated with the one of the physical ports. It is then determined if the system identification of the subsequent message is of a lower value than the system identifications of any of the physical port groups previously associated with an aggregator port. The association of an aggregation group with the highest system identification to an aggregator port is then terminated and the physical port of the received second message associated with an aggregator port in the predictable sequence if such is the case.
While the invention has been described above primarily with respect to the method aspects of the invention, both systems and computer program products are also provided.